/*
* 1. 读取文件内容 3个文件
* 2. 将读取出来的内容进行拼接
* 3. 将拼接的内容写入到  d.txt
* */

const fs = require('fs');

var f1 = './data/a.txt';
var f2 = './data/b.txt';
var f3 = './data/c.txt';

var f4 = './data/d.txt';

/*
* readFile是异步的，结果是通过回调函数获取
*
*
* 由于读取是一个异步操作，并不能包装读取到内容顺序就是我们写代码的顺序
* 写代码
* f1
* f2
* f3
*
*
* 由于读取是异步，那么在读取文件的时候，有可能是任意一个先读完，那么先读完的先打印，所以打印出来的顺序很可能不是我们编写代码顺序。但是我们的业务逻辑是希望读取出来的顺序是 f1 f2 f3--->f4
*
* */
fs.readFile(f1, 'utf-8', function (error, dataF1) {
    console.log('f1', error, dataF1);
    fs.readFile(f2, 'utf-8', function (error, dataF2) {
        console.log('f2', error, dataF2);
        fs.readFile(f3, 'utf-8', function (error, dataF3) {
            console.log('f3', error, dataF3);
            var content = dataF1 + dataF2 + dataF3;
            fs.writeFile(f4, content, function (error) {
                console.log('f4 write', error);
            });

        });

    });

});

